const fs = require("fs");
const path = require("path");
const express = require("express");
const app = express();
app.use(express.static(__dirname));
app.use(express.json());
app.use(express.urlencoded({
	extended:false
}))
app.get("/3-post.html",(req,res)=>{
	res.json({
		ok:1,
		msg:"ok"
	})
})
app.get("/my",(req,res)=>{
	// 以下不建议：
	// 相对的地址为NODE执行地址
	// fs.readFile("./data/index.json");
	
	// 拼接符\
	// fs.readFile(__dirname+"/dat/aindex.json");
	
	fs.readFile(path.join(__dirname,"/data/index.json"),(err,result)=>{
		res.json(JSON.parse(result.toString()));
	})
});
app.get("/myJson",(req,res)=>{
	// let a = 1;
	// a();
	setTimeout(()=>{
		res.sendFile(path.join(__dirname,"/data/index.json"));
	},6000)
});
app.get("/myXml",(req,res)=>{
	res.sendFile(path.join(__dirname,"/data/index.xml"))
});

// 接口说明：
// 1- 请求方式：GET
// 2- 请求地址：/sum?a=xx&b=xxx
// 3- 传递的参数：
//    a
//    b
// 3- 响应结果
// {
//  ok:1,// 1成功，-1失败
//  smg:"成功“
//  sum：和
// }
app.get("/sum",(req,res)=>{
	const {a=0,b=0} = req.query;
	const sum = a/1+b/1;
	if(Number.isNaN(sum)){
		res.json({
			ok:-1,
			msg:"异常，接收的参数必须是数字"
		})
	}else {
		res.json({
			ok:1,
			sum,
			msg:"成功"
		})
	}
	
})

// 1- 请求方式：POST
// 2- 请求地址：/sum
// 3- 传递参数：请求体json
//    a
//    b
// 3- 响应结果
// {
//  ok:1,// 1成功，-1失败
//  smg:"成功“
//  sum：和
// }
app.post("/sum",(req,res)=>{
	const {a,b} = req.body;
	const sum = a/1+b/1;
	if(Number.isNaN(sum)){
		res.json({
			ok:-1,
			msg:"异常，接收的参数必须是数字"
		})
	}else {
		res.json({
			ok:1,
			sum,
			msg:"成功"
		})
	}
})

app.listen(80,()=>{
	console.log("success");
})
